<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema targetNamespace="http://www.opengis.net/sld"
            xmlns:sld="http://www.opengis.net/sld"
            xmlns:ogc="http://www.opengis.net/ogc"
            xmlns:xsd="http://www.w3.org/2001/XMLSchema"
            elementFormDefault="qualified"
            version="1.0.20 2010-02-01">
  
  <xsd:include schemaLocation="common.xsd"/>
  <xsd:import namespace="http://www.opengis.net/ogc" schemaLocation="http://schemas.opengis.net/filter/1.0.0/filter.xsd"/>

<!-- *********************************************************************** -->
  <xsd:annotation>
    <xsd:documentation>
      SLD SYMBOL version 1.0.20 (2010-02-01)
      
      SLD is an OGC Standard.
      Copyright (c) 2001,2010 Open Geospatial Consortium, Inc. All Rights Reserved.
      To obtain additional rights of use, visit http://www.opengeospatial.org/legal/ .
    </xsd:documentation>
  </xsd:annotation>

  <xsd:element name="Symbol" type="sld:SymbolType" abstract="true"/>

  <xsd:complexType name="SymbolType" abstract="true">
    <xsd:annotation>
      <xsd:documentation>
        A "SymbolType" is an abstract type for encoding the graphical
        properties used to portray geographic information.  Concrete symbol
        types are derived from this base type.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:sequence>
      <xsd:element ref="sld:Name" minOccurs="0"/>
      <xsd:element ref="sld:Description" minOccurs="0"/>
      <xsd:element ref="sld:BaseSymbol" minOccurs="0"/>
    </xsd:sequence>
    <xsd:attribute name="version" type="sld:VersionType"/>
  </xsd:complexType>

  <xsd:element name="BaseSymbol">
    <xsd:annotation>
      <xsd:documentation>
        A "BaseSymbol" defines the default properties of a symbol to
        be those of an external symbol, which will frequently be inside
        of an OGC symbol(izer) repository.  The symbol properties given
        in-line override the base-symbol properties.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element ref="sld:OnlineResource"/>
      </xsd:sequence>
    </xsd:complexType>
  </xsd:element>

<!-- *********************************************************************** -->
  <xsd:annotation>
    <xsd:documentation>
      LINE SYMBOL
    </xsd:documentation>
  </xsd:annotation>

  <xsd:element name="LineSymbol" substitutionGroup="sld:Symbol">
    <xsd:annotation>
      <xsd:documentation>
        A LineSymbol is used to render a "stroke" along a linear geometry.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexType>
      <xsd:complexContent>
        <xsd:extension base="sld:SymbolType">
          <xsd:sequence>
            <xsd:element ref="sld:Geometry" minOccurs="0"/>
            <xsd:element ref="sld:Stroke" minOccurs="0"/>
          </xsd:sequence>
        </xsd:extension>
      </xsd:complexContent>
    </xsd:complexType>
  </xsd:element>

  <xsd:element name="Geometry">
    <xsd:annotation>
      <xsd:documentation>
        A Geometry gives reference to a (the) geometry property of a
        feature to be used for rendering.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element ref="ogc:PropertyName"/>
      </xsd:sequence>
    </xsd:complexType>
  </xsd:element>

  <xsd:element name="Stroke">
    <xsd:annotation>
      <xsd:documentation>
        A "Stroke" specifies the appearance of a linear geometry.  It is
        defined in parallel with SVG strokes.  The following SvgParameters
        may be used: "stroke" (color), "stroke-opacity", "stroke-width",
        "stroke-linejoin", "stroke-linecap", "stroke-dasharray", and
        "stroke-dashoffset".  Others are not officially supported.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexType>
      <xsd:sequence>
        <xsd:choice minOccurs="0">
          <xsd:element ref="sld:GraphicFill"/>
          <xsd:element ref="sld:GraphicStroke"/>
        </xsd:choice>
        <xsd:element ref="sld:SvgParameter" minOccurs="0"
                     maxOccurs="unbounded"/>
      </xsd:sequence>
    </xsd:complexType>
  </xsd:element>

  <xsd:element name="SvgParameter">
    <xsd:annotation>
      <xsd:documentation>
        A "SvgParameter" refers to an SVG/CSS graphical-formatting
        parameter.  The parameter is identified using the "name" attribute
        and the content of the element gives the SVG/CSS-coded value.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexType mixed="true">
      <xsd:complexContent>
        <xsd:extension base="sld:ParameterValueType">
          <xsd:attribute name="name" type="xsd:string" use="required"/>
        </xsd:extension>
      </xsd:complexContent>
    </xsd:complexType>
  </xsd:element>

  <xsd:complexType name="ParameterValueType" mixed="true">
    <xsd:annotation>
      <xsd:documentation>
        The "ParameterValueType" uses WFS-Filter expressions to give
        values for SLD graphic parameters.  A "mixed" element-content
        model is used with textual substitution for values.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:sequence minOccurs="0" maxOccurs="unbounded">
      <xsd:element ref="ogc:expression"/>
    </xsd:sequence>
  </xsd:complexType>

  <xsd:element name="GraphicFill">
    <xsd:annotation>
      <xsd:documentation>
        A "GraphicFill" defines repeated-graphic filling (stippling)
        pattern for an area geometry.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element ref="sld:Graphic"/>
      </xsd:sequence>
    </xsd:complexType>
  </xsd:element>

  <xsd:element name="GraphicStroke">
    <xsd:annotation>
      <xsd:documentation>
        A "GraphicStroke" defines a repated-linear graphic pattern to be used
        for stroking a line.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element ref="sld:Graphic"/>
      </xsd:sequence>
    </xsd:complexType>
  </xsd:element>

<!-- *********************************************************************** -->
  <xsd:annotation>
    <xsd:documentation>
      POLYGON SYMBOL
    </xsd:documentation>
  </xsd:annotation>

  <xsd:element name="PolygonSymbol" substitutionGroup="sld:Symbol">
    <xsd:annotation>
      <xsd:documentation>
        A "PolygonSymbol" specifies the rendering of a polygon or
        area geometry, including its interior fill and border stroke.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexType>
      <xsd:complexContent>
        <xsd:extension base="sld:SymbolType">
          <xsd:sequence>
            <xsd:element ref="sld:Geometry" minOccurs="0"/>
            <xsd:element ref="sld:Fill" minOccurs="0"/>
            <xsd:element ref="sld:Stroke" minOccurs="0"/>
          </xsd:sequence>
        </xsd:extension>
      </xsd:complexContent>
    </xsd:complexType>
  </xsd:element>

  <xsd:element name="Fill">
    <xsd:annotation>
      <xsd:documentation>
        A "Fill" specifies the pattern for filling an area geometry.
        The allowed SvgParameters are: "fill" (color) and "fill-opacity".
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element ref="sld:GraphicFill" minOccurs="0"/>
        <xsd:element ref="sld:SvgParameter" minOccurs="0"
                     maxOccurs="unbounded"/>
      </xsd:sequence>
    </xsd:complexType>
  </xsd:element>

<!-- *********************************************************************** -->
  <xsd:annotation>
    <xsd:documentation>
      POINT SYMBOL
    </xsd:documentation>
  </xsd:annotation>

  <xsd:element name="PointSymbol" substitutionGroup="sld:Symbol">
    <xsd:annotation>
      <xsd:documentation>
        A "PointSymbol" specifies the rendering of a "graphic symbol"
        at a point.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexType>
      <xsd:complexContent>
        <xsd:extension base="sld:SymbolType">
          <xsd:sequence>
            <xsd:element ref="sld:Geometry" minOccurs="0"/>
            <xsd:element ref="sld:Graphic" minOccurs="0"/>
          </xsd:sequence>
        </xsd:extension>
      </xsd:complexContent>
    </xsd:complexType>
  </xsd:element>

  <xsd:element name="Graphic">
    <xsd:annotation>
      <xsd:documentation>
        A "Graphic" specifies or refers to a "graphic symbol" with inherent
        shape, size, and coloring.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexType>
      <xsd:sequence>
        <xsd:choice minOccurs="0" maxOccurs="unbounded">
          <xsd:element ref="sld:ExternalGraphic"/>
          <xsd:element ref="sld:Mark"/>
        </xsd:choice>
        <xsd:sequence>
          <xsd:element ref="sld:Opacity" minOccurs="0"/>
          <xsd:element ref="sld:Size" minOccurs="0"/>
          <xsd:element ref="sld:Rotation" minOccurs="0"/>
        </xsd:sequence>
      </xsd:sequence>
    </xsd:complexType>
  </xsd:element>
  <xsd:element name="Opacity" type="sld:ParameterValueType"/>
  <xsd:element name="Size" type="sld:ParameterValueType"/>
  <xsd:element name="Rotation" type="sld:ParameterValueType"/>

  <xsd:element name="ExternalGraphic">
    <xsd:annotation>
      <xsd:documentation>
        An "ExternalGraphic" gives a reference to an raster or vector
        graphical object, either online or inline, in an externally-defined
        graphic format.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexType>
      <xsd:sequence>
        <xsd:choice>
          <xsd:element ref="sld:OnlineResource"/>
          <xsd:element ref="sld:InlineContent"/>
        </xsd:choice>
        <xsd:element ref="sld:Format"/>
      </xsd:sequence>
    </xsd:complexType>
  </xsd:element>
  <xsd:element name="Format" type="xsd:string"/>

  <xsd:element name="Mark">
    <xsd:annotation>
      <xsd:documentation>
        A "Mark" specifies a geometric shape and applies coloring to it.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element ref="sld:WellKnownName" minOccurs="0"/>
        <xsd:element ref="sld:Fill" minOccurs="0"/>
        <xsd:element ref="sld:Stroke" minOccurs="0"/>
      </xsd:sequence>
    </xsd:complexType>
  </xsd:element>
  <xsd:element name="WellKnownName" type="xsd:string"/>

<!-- *********************************************************************** -->
  <xsd:annotation>
    <xsd:documentation>
      TEXT SYMBOL
    </xsd:documentation>
  </xsd:annotation>

  <xsd:element name="TextSymbol" substitutionGroup="sld:Symbol">
    <xsd:annotation>
      <xsd:documentation>
        A "TextSymbol" is used to render text labels according to
        various graphical parameters.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexType>
      <xsd:complexContent>
        <xsd:extension base="sld:SymbolType">
          <xsd:sequence>
            <xsd:element ref="sld:Geometry" minOccurs="0"/>
            <xsd:element ref="sld:Label" minOccurs="0"/>
            <xsd:element ref="sld:Font" minOccurs="0"/>
            <xsd:element ref="sld:LabelPlacement" minOccurs="0"/>
            <xsd:element ref="sld:Halo" minOccurs="0"/>
            <xsd:element ref="sld:Fill" minOccurs="0"/>
          </xsd:sequence>
        </xsd:extension>
      </xsd:complexContent>
    </xsd:complexType>
  </xsd:element>

  <xsd:element name="Label" type="sld:ParameterValueType">
    <xsd:annotation>
      <xsd:documentation>
        A "Label" specifies the textual content to be rendered.
      </xsd:documentation>
    </xsd:annotation>
  </xsd:element>

  <xsd:element name="Font">
    <xsd:annotation>
      <xsd:documentation>
        A "Font" element specifies the text font to use.  The allowed
        SvgParameters are: "font-family", "font-style", "font-weight",
        and "font-size".
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element ref="sld:SvgParameter" minOccurs="0"
                     maxOccurs="unbounded"/>
      </xsd:sequence>
    </xsd:complexType>
  </xsd:element>

  <xsd:element name="LabelPlacement">
    <xsd:annotation>
      <xsd:documentation>
        The "LabelPlacement" specifies where and how a text label should
        be rendered relative to a geometry.  The present mechanism is
        poorly aligned with CSS/SVG.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexType>
      <xsd:choice>
        <xsd:element ref="sld:PointPlacement"/>
        <xsd:element ref="sld:LinePlacement"/>
      </xsd:choice>
    </xsd:complexType>
  </xsd:element>

  <xsd:element name="PointPlacement">
    <xsd:annotation>
      <xsd:documentation>
        A "PointPlacement" specifies how a text label should be rendered
        relative to a geometric point.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element ref="sld:AnchorPoint" minOccurs="0"/>
        <xsd:element ref="sld:Displacement" minOccurs="0"/>
        <xsd:element ref="sld:Rotation" minOccurs="0"/>
      </xsd:sequence>
    </xsd:complexType>
  </xsd:element>

  <xsd:element name="AnchorPoint">
    <xsd:annotation>
      <xsd:documentation>
        An "AnchorPoint" identifies the location inside of a text label to
        use an an 'anchor' for positioning it relative to a point geometry.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element ref="sld:AnchorPointX"/>
        <xsd:element ref="sld:AnchorPointY"/>
      </xsd:sequence>
    </xsd:complexType>
  </xsd:element>
  <xsd:element name="AnchorPointX" type="sld:ParameterValueType"/>
  <xsd:element name="AnchorPointY" type="sld:ParameterValueType"/>

  <xsd:element name="Displacement">
    <xsd:annotation>
      <xsd:documentation>
        A "Displacement" gives X and Y offset displacements to use for
        rendering a text label near a point.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element ref="sld:DisplacementX"/>
        <xsd:element ref="sld:DisplacementY"/>
      </xsd:sequence>
    </xsd:complexType>
  </xsd:element>
  <xsd:element name="DisplacementX" type="sld:ParameterValueType"/>
  <xsd:element name="DisplacementY" type="sld:ParameterValueType"/>

  <xsd:element name="LinePlacement">
    <xsd:annotation>
      <xsd:documentation>
        A "LinePlacement" specifies how a text label should be rendered
        relative to a linear geometry.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element ref="sld:PerpendicularOffset" minOccurs="0"/>
      </xsd:sequence>
    </xsd:complexType>
  </xsd:element>

  <xsd:element name="PerpendicularOffset" type="sld:ParameterValueType">
    <xsd:annotation>
      <xsd:documentation>
        A "PerpendicularOffset" gives the perpendicular distance away
        from a line to draw a label.
      </xsd:documentation>
    </xsd:annotation>
  </xsd:element>

  <xsd:element name="Halo">
    <xsd:annotation>
      <xsd:documentation>
        A "Halo" fills an extended area outside the glyphs of a rendered
        text label to make the label easier to read over a background.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element ref="sld:Radius" minOccurs="0"/>
        <xsd:element ref="sld:Fill" minOccurs="0"/>
      </xsd:sequence>
    </xsd:complexType>
  </xsd:element>
  <xsd:element name="Radius" type="sld:ParameterValueType"/>

<!-- *********************************************************************** -->
  <xsd:annotation>
    <xsd:documentation>
      RASTER SYMBOL
    </xsd:documentation>
  </xsd:annotation>

  <xsd:element name="RasterSymbol" substitutionGroup="sld:Symbol">
    <xsd:annotation>
      <xsd:documentation>
        A "RasterSymbol" is used to specify the rendering of
        raster/matrix-coverage data (e.g., satellite images, DEMs).
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexType>
      <xsd:complexContent>
        <xsd:extension base="sld:SymbolType">
          <xsd:sequence>
            <xsd:element ref="sld:Geometry" minOccurs="0"/>
            <xsd:element ref="sld:Opacity" minOccurs="0"/>
            <xsd:element ref="sld:ChannelSelection" minOccurs="0"/>
            <xsd:element ref="sld:OverlapBehavior" minOccurs="0"/>
            <xsd:element ref="sld:ColorMap" minOccurs="0"/>
            <xsd:element ref="sld:ContrastEnhancement" minOccurs="0"/>
            <xsd:element ref="sld:ShadedRelief" minOccurs="0"/>
            <xsd:element ref="sld:ImageOutline" minOccurs="0"/>
          </xsd:sequence>
        </xsd:extension>
      </xsd:complexContent>
    </xsd:complexType>
  </xsd:element>

  <xsd:element name="ChannelSelection">
    <xsd:annotation>
      <xsd:documentation>
        "ChannelSelection" specifies the false-color channel selection
        for a multi-spectral raster source.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexType>
      <xsd:choice>
        <xsd:sequence>
          <xsd:element ref="sld:RedChannel"/>
          <xsd:element ref="sld:GreenChannel"/>
          <xsd:element ref="sld:BlueChannel"/>
        </xsd:sequence>
        <xsd:element ref="sld:GrayChannel"/>
      </xsd:choice>
    </xsd:complexType>
  </xsd:element>
  <xsd:element name="RedChannel" type="sld:SelectedChannelType"/>
  <xsd:element name="GreenChannel" type="sld:SelectedChannelType"/>
  <xsd:element name="BlueChannel" type="sld:SelectedChannelType"/>
  <xsd:element name="GrayChannel" type="sld:SelectedChannelType"/>
  <xsd:complexType name="SelectedChannelType">
    <xsd:sequence>
      <xsd:element ref="sld:SourceChannelName"/>
      <xsd:element ref="sld:ContrastEnhancement" minOccurs="0"/>
    </xsd:sequence>
  </xsd:complexType>
  <xsd:element name="SourceChannelName" type="xsd:string"/>

  <xsd:element name="OverlapBehavior">
    <xsd:annotation>
      <xsd:documentation>
        "OverlapBehavior" tells a system how to behave when multiple
        raster images in a layer overlap each other, for example with
        satellite-image scenes.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:simpleType>
      <xsd:restriction base="xsd:string">
        <xsd:enumeration value="LATEST_ON_TOP"/>
        <xsd:enumeration value="EARLIEST_ON_TOP"/>
        <xsd:enumeration value="AVERAGE"/>
        <xsd:enumeration value="RANDOM"/>
      </xsd:restriction>
    </xsd:simpleType>
  </xsd:element>

  <xsd:element name="ColorMap">
    <xsd:annotation>
      <xsd:documentation>
        A "ColorMap" defines either the colors of a pallet-type raster
        source or the mapping of numeric pixel values to colors.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexType>
      <xsd:choice minOccurs="0" maxOccurs="unbounded">
        <xsd:element ref="sld:ColorMapEntry"/>
      </xsd:choice>
    </xsd:complexType>
  </xsd:element>
  <xsd:element name="ColorMapEntry">
    <xsd:complexType>
      <xsd:attribute name="color" type="xsd:string" use="required"/>
      <xsd:attribute name="opacity" type="xsd:double"/>
      <xsd:attribute name="quantity" type="xsd:double"/>
      <xsd:attribute name="label" type="xsd:string"/>
    </xsd:complexType>
  </xsd:element>

  <xsd:element name="ContrastEnhancement">
    <xsd:annotation>
      <xsd:documentation>
        "ContrastEnhancement" defines the 'stretching' of contrast for a
        channel of a false-color image or for a whole grey/color image.
        Contrast enhancement is used to make ground features in images
        more visible.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexType>
      <xsd:sequence>
        <xsd:choice minOccurs="0">
          <xsd:element ref="sld:Normalize"/>
          <xsd:element ref="sld:Histogram"/>
        </xsd:choice>
        <xsd:element ref="sld:GammaValue" minOccurs="0"/>
      </xsd:sequence>
    </xsd:complexType>
  </xsd:element>
  <xsd:element name="Normalize">
    <xsd:complexType/>
  </xsd:element>
  <xsd:element name="Histogram">
    <xsd:complexType/>
  </xsd:element>
  <xsd:element name="GammaValue" type="xsd:double"/>

  <xsd:element name="ShadedRelief">
    <xsd:annotation>
      <xsd:documentation>
        "ShadedRelief" specifies the application of relief shading
        (or "hill shading") to a DEM raster to give it somewhat of a
        three-dimensional effect and to make elevation changes more
        visible.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element ref="sld:BrightnessOnly" minOccurs="0"/>
        <xsd:element ref="sld:ReliefFactor" minOccurs="0"/>
      </xsd:sequence>
    </xsd:complexType>
  </xsd:element>
  <xsd:element name="BrightnessOnly" type="xsd:boolean"/>
  <xsd:element name="ReliefFactor" type="xsd:double"/>

  <xsd:element name="ImageOutline">
    <xsd:annotation>
      <xsd:documentation>
        "ImageOutline" specifies how individual source rasters in
        a multi-raster set (such as a set of satellite-image scenes)
        should be outlined to make the individual-image locations visible.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexType>
      <xsd:choice>
        <xsd:element ref="sld:LineSymbol"/>
        <xsd:element ref="sld:PolygonSymbol"/>
      </xsd:choice>
    </xsd:complexType>
  </xsd:element>

<!-- *********************************************************************** -->
  <xsd:annotation>
    <xsd:documentation>
      MAPPED-COLOR SYMBOL (Choropleth)
    </xsd:documentation>
  </xsd:annotation>

  <xsd:element name="MappedColorSymbol" substitutionGroup="sld:Symbol">
    <xsd:annotation>
      <xsd:documentation>
        A "MappedColorSymbol" is used to specify the mapping of colors to
        ranges of values of a control variable/expression.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexType>
      <xsd:complexContent>
        <xsd:extension base="sld:SymbolType">
          <xsd:sequence>
            <xsd:element ref="sld:LookupValue"/>
            <xsd:element ref="sld:ColorMap"/>
            <xsd:element ref="sld:MappedColorSubSymbol"/>
          </xsd:sequence>
        </xsd:extension>
      </xsd:complexContent>
    </xsd:complexType>
  </xsd:element>
  <xsd:element name="LookupValue" type="sld:ParameterValueType"/>

  <xsd:element name="MappedColorSubSymbol">
    <xsd:annotation>
      <xsd:documentation>
        The MappedColorSubSymbol identifies the the symbol to which
        to apply computed colors.  The computed color is used as the
        'default color' in the sub-symbol.  The "matchTo" attribute tells
        whether to match the lookup value to the "quantity" or "label"
        attributes of the 'choropleth' ColorMap.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexType>
      <xsd:choice>
        <xsd:element ref="sld:LineSymbol"/>
        <xsd:element ref="sld:PolygonSymbol"/>
        <xsd:element ref="sld:PointSymbol"/>
        <xsd:element ref="sld:TextSymbol"/>
        <xsd:element ref="sld:RasterSymbol"/>
      </xsd:choice>
      <xsd:attribute name="matchTo" use="required">
        <xsd:simpleType>
          <xsd:restriction base="xsd:string">
            <xsd:enumeration value="quantity"/>
            <xsd:enumeration value="label"/>
          </xsd:restriction>
        </xsd:simpleType>
      </xsd:attribute>
    </xsd:complexType>
  </xsd:element>

</xsd:schema>
